﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="UnitTemplate.cs" company="DarkBone">
//   DarkBone
// </copyright>
// <summary>
//   Unit template
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace DarkBone.Engine.Collections
{
   using System.Drawing;

   /// <summary>
   /// Unit template
   /// </summary>
   public sealed class UnitTemplate
   {
      #region Enums

      /// <summary>
      /// The race.
      /// </summary>
      public enum Race
      {
         /// <summary>
         /// The unknown.
         /// </summary>
         Unknown, 

         /// <summary>
         /// The protoss.
         /// </summary>
         Protoss, 

         /// <summary>
         /// The terran.
         /// </summary>
         Terran, 

         /// <summary>
         /// The zerg.
         /// </summary>
         Zerg
      }

      #endregion

      /// <summary>
      /// The template.
      /// </summary>
      public struct Template
      {
         #region Constants and Fields

         /// <summary>
         /// The aliases.
         /// </summary>
         public string[] Aliases;

         /// <summary>
         /// The building.
         /// </summary>
         public bool Building;

         /// <summary>
         /// The defaulttype.
         /// </summary>
         public int DefaultType;

         /// <summary>
         /// The default types.
         /// </summary>
         public int[] Types;

         /// <summary>
         /// The frindly name.
         /// </summary>
         public string FrindlyName;

         /// <summary>
         /// The imagefilename.
         /// </summary>
         public string Imagefilename;

         /// <summary>
         /// The image.
         /// </summary>
         public Image Image;

         /// <summary>
         /// The priority.
         /// </summary>
         public int Priority;

         /// <summary>
         /// The race.
         /// </summary>
         public Race UnitRace;

         /// <summary>
         /// The size.
         /// </summary>
         public Size Size;

         /// <summary>
         /// The visible status.
         /// </summary>
         public bool VisibleStatus;

         #endregion
      }
   }
}